
layui.use(['form','wangEditor','laydate','upload'], function () {
    let form = layui.form,
        layer = layui.layer,
        wangEditor = layui.wangEditor,
        upload = layui.upload,
        laydate = layui.laydate,
        $ = layui.$;



    //富文本
    let editor = new wangEditor('#LAY_demo_editor');
    editor.customConfig.uploadImgServer = "/admin/industry/Doupload";
    editor.customConfig.uploadFileName = 'image';
    editor.customConfig.pasteFilterStyle = false;
    editor.customConfig.uploadImgMaxLength = 5;
    editor.customConfig.uploadImgParams = {
        'mark': 'img',
        'field': 'image',
        'oldSrc': ''

    }
    editor.customConfig.uploadImgHooks = {
        before: function (xhr, editor, files) {
            // 图片上传之前触发
            // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象，files 是选择的图片文件

            // 如果返回的结果是 {prevent: true, msg: 'xxxx'} 则表示用户放弃上传
            // return {
            //     prevent: true,
            //     msg: '放弃上传'
            // }
        },
        success: function (xhr, editor, result) {
            // 图片上传并返回结果，图片插入成功之后触发
            // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象，result 是服务器端返回的结果
        },
        fail: function (xhr, editor, result) {
            // 图片上传并返回结果，但图片插入错误时触发
            // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象，result 是服务器端返回的结果
        },
        error: function (xhr, editor) {
            // 图片上传出错时触发
            // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象
        },
        timeout: function (xhr, editor) {
            // 图片上传超时时触发
            // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象
        },

        // 如果服务器端返回的不是 {errno:0, data: [...]} 这种格式，可使用该配置
        // （但是，服务器端返回的必须是一个 JSON 格式字符串！！！否则会报错）
        customInsert: function (insertImg, result, editor) {
            // 图片上传并返回结果，自定义插入图片的事件（而不是编辑器自动插入图片！！！）
            // insertImg 是插入图片的函数，editor 是编辑器对象，result 是服务器端返回的结果

            // 举例：假如上传图片成功后，服务器端返回的是 {url:'....'} 这种格式，即可这样插入图片：
            let url = "/upload/"+result.src
            insertImg(url)
            let urls=$("#editorimgurlHidden").val()+','+url

            $("#editorimgurlHidden").val(urls)

            // result 必须是一个 JSON 格式字符串！！！否则报错
        }
    }

    editor.create();
    //初始化编辑器数据
    let info4=$("#hideDetail").html()
    let info5=$('<div>').html(info4).text()
    editor.txt.html(info5)
    //单图片拖拽上传
    let uploadInst = upload.render({
        elem: '#headImg',
        url: '/admin/industry/Doupload',
        size: 500,
        field: 'thumb_img',
        accept: 'images',
        acceptMime: 'image/*',
        before: function(obj) {
            //预读本地文件示例，不支持ie8
            obj.preview(function(index, file, result) {
                $('#imgurl').attr('src', result); //图片链接（base64）;
            });
            this.data = {
                'mark': 'img',
                'field': 'thumb_img',
                'oldSrc': $("#imgurlHidden").val()
            };
        },
        done: function(res) {
            console.log( $("#imgurlHidden").val())
            //如果上传失败
            if (res.status == false) {
                return layer.msg('上传失败');
            }
            //上传成功
            //打印后台传回的地址: 把地址放入一个隐藏的input中, 和表单一起提交到后台, 此处略..
            // window.parent.uploadHeadImage(res.src);
            $("#imgurlHidden").val(res.src);
            let demoText = $('#demoText');
            demoText.html('<span style="color: #8f8f8f;">上传成功!!!</span>');
        },
        error: function() {
            //演示失败状态，并实现重传
            let demoText = $('#demoText');
            demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reload">重试</a>');
            demoText.find('.demo-reload').on('click', function() {
                uploadInst.upload();
            });
        },

    });

    //日期
    laydate.render({elem: '#unsell_time'});
    laydate.render({elem: '#sell_time'});
    //监听提交
    form.on('submit(saveBtn)', function (data) {

        let  postdata =data.field
        postdata.detail=editor.txt.html()
        let re1=true
        for(var i=0;i in  $("#bb input");i++){
            if($("#bb input").eq(i).attr('class')=='layui-input cycle_max')
            {
                re1= checkdata($("#bb input")[i])
                if(re1==false)
                {
                    break;
                }
            }
        }

        if(re1==false)
        {
            return false
        }

        //发异步，把数据提交给php
        $.ajax({
            url: '/admin/industry/Save?action=ajax',
            type: 'post',
            dataType: 'json',
            data:postdata,
            success: function(res) {
                console.log( res)

                if (res.status == true) {
                    layer.msg('保存成功', {icon: 1, time: 1000},
                        function(){
                            parent.location.reload();
                        })

                }  else {
                    layer.open({
                        title: '错误信息',
                        content: '<span style="color:red">'+res.code+':</span>'+res.msg
                    })
                    return false
                }
            },
            error: function(re) {

                layer.open({
                    title: '错误信息',
                    content: '<span style="color:red">'+re.responseJSON.errorCode+':</span>'+re.responseJSON.msg
                })
            }
        });




    });

});
/*阶段内最高价值校验*/
function checkdata(obj) {

    let max=$(obj).val()
    let min= $(obj).parents('.layui-form-item').find('.cycle_min').val()
    let max_ind=$("#max_worth").val();


    //判断是否低于本阶段基础价值
    if(parseInt(max)<parseInt(min))
    {
        layer.msg('最高价值不得低于同一阶段内基础价值')
        $(obj).val(min)
        return false
    }
    //判断是否大于行业最大价值
    if(parseInt(max)>parseInt(max_ind))
    {
       layer.msg('阶段最高价值不得高于行业最高价值',function () {
           $(obj).val(max_ind)
       })
        return false

    }
    return true
}

/*点击添加阶段*/
function additem(){
    let msg=0
    let level_name=$("#bb .layui-form-item").length
    level_name+=1
    let cycle_min=0
    let re1=true
    $("#bb input").each(function (index,re) {
        //表单数据盘空
        // if(parseInt($(re).val())<1){
        //     layer.msg("表单数据不正确");
        //     msg=1
        //     return false
        // }
        if($(re).attr('name')=='cycle_max[]'){
            re1=checkdata(re)
            if(!re1)
            {
                return false;
            }
            console.log()
            if(parseInt($(re).val())>=parseInt($("#max_worth").val()))
            {
                re1=false;
                layer.msg("阶段最高值已经达到行业最高值，无法继续添加");
                return false;
            }
            cycle_min=parseInt($(re).val())
        }
    })
    if(!re1)
    {
        return false
    }

    let new_html = '<div class="layui-form-item" >\n' +
        '            <label class="layui-form-label" style="margin-left:50px;width:50px">阶段'+level_name+'</label>\n' +
        '            <div class="layui-inline" >\n' +
        '                <label class="layui-form-label">基础价值</label>\n' +
        '                <div class="layui-input-inline ">\n' +
        '                    <input type="number" name="cycle_min[]"     class="layui-input cycle_min"    value="'+cycle_min+'"     >\n' +
        '                </div>\n' +
        '            </div>\n' +
        '            <div class="layui-inline" >\n' +
        '                <label class="layui-form-label">收益比例</label>\n' +
        '                <div class="layui-input-inline">\n' +
        '                <input type="number" name="cycle_income[]"  min="0"  value="0"    class="layui-input cycle_income"  >\n' +
        '            </div>\n' +
        '            </div>\n' +
        '            <div class="layui-inline" >\n' +
        '                <label class="layui-form-label">收益周期</label>\n' +
        '                <div class="layui-input-inline">\n' +
        '                    <input type="number" name="cycle_day[]" min="0"   value="0"     class="layui-input cycle_day"  >\n' +
        '                </div>\n' +
        '            </div>\n' +
        '            <div class="layui-inline">\n' +
        '                <label class="layui-form-label">最高价值</label>\n' +
        '                <div class="layui-input-inline">\n' +
        '                    <input type="number"    name="cycle_max[]"  min="0"  value="0"   class="layui-input cycle_max">\n' +
        '                </div>\n' +
        '            </div>\n' +
        '            <div class="layui-inline" style="width: 50px">\n' +
        '                <div class="layui-input-inline">\n' +
        '                    <button type="button" onclick="delcycle(this)" class="layui-btn">删除</button>\n' +
        '                </div>\n' +
        '            </div>\n' +
        '        </div>'

    $('#bb').append(new_html);

}


/* 初始化数据*/
function ininumber(obj){
    //let init_num=$(obj).val()
    // $("#first").val($("#min_worth").val())

    let first=$("#min_worth").val()
    let items=$("#bb").find('.layui-form-item')
    let min=0
    let income=0
    let dayincome=0
    let max=0
    let re=2
    for(let i=0;i in items;i++)
    {

        if(i<1)
        {
            items.eq(i).find('.cycle_min').val(first)
            min=items.eq(i).find('.cycle_min').val()
        }else{
            min=parseInt(items.eq(i-1).find('.cycle_max').val())+1
            items.eq(i).find('.cycle_min').val(min)
        }

        // //每日收益
        //  income=items.eq(i).find('.cycle_income').val()
        // //收益周期
        // dayincome=items.eq(i).find('.cycle_day').val()
        // //最高价值
        // max =parseInt(min)+(parseInt(income)*parseInt(dayincome))
        //
        //
        // items.eq(i).find('.cycle_max').val(max)
    }


}
/* 阶段内 最高价值结算 */
function getmaxnumber(obj,parent=false) {
    let max=0;
    let min=0;
    let income=0;
    let dayincome=0;
    if(parent){
        //基础价值
         min=$(obj).parents(".layui-form-item").find('.cycle_min').val()
        //每日收益
         income=$(obj).parents(".layui-form-item").find('.cycle_income').val()
        //收益周期
         dayincome=$(obj).parents(".layui-form-item").find('.cycle_day').val()
        //最高价值
         max =parseInt(min)+(parseInt(income)*parseInt(dayincome))

            // if(max>parseInt($("#max_worth").val())){
            //     layer.msg('最高价值不得高于行业最高价值')
            //     return false
            // }
        //$(obj).parents(".layui-form-item").find('.cycle_max').val(max)
    }else{
        //基础价值
        let min=$(obj).find('.cycle_min').val()
        //每日收益
        let income=$(obj).find('.cycle_income').val()
        //收益周期
        let dayincome=$(obj).find('.cycle_day').val()
        //最高价值
         max =parseInt(min)+(parseInt(income)*parseInt(dayincome))
        // if(max>parseInt($("#max_worth").val())){
        //     layer.msg('最高价值不得高于行业最高价值')
        //     return false
        // }
       // $(obj).find('.cycle_max').val(max)
    }

return max;

   // $(obj).find('.cycle_max').val(max)

}

function delcycle (obj){
    $(obj).parents('.layui-form-item').remove();
}


